阿里云Redis技术架构演进
本文是整理来自阿里巴巴夏周同学的分享,详细介绍了阿里云Redis的发展和现状。
Redis简介
Redis:Remote Dictionary Server,Key-Value存储系统,优点包括:
易用性:丰富的数据结构支持,Module
高性能:高校的数据结构设计,全内存操作
可靠性:主备同步,持久化
阿里云Redis架构
整体架构
单节点->单机主备->集群->读写分离->同城容灾->异地多活
阿里云整体架构包含6大支撑系统:
HA控制系统
实例高可用探测模块,用于探测监听Redis实例运行情况。
日志收集系统
进行云数据库Redis版运行情况的日志收集,包括实例慢查询日志,访问日志等。
监控系统
进行Redis实例性能监控,信息的收集工作,目前包括基本信息组监控,keys组信息监控,string信息组监控等核心信息
在线迁移系统
当实例所运行的物理机出现故障,在线迁移系统会根据备份系统中的备份文件进行实例重新搭建,保证业务不受影响
备份系统
任务控制系统
双副本架构
适用场景:纯缓存,数据持久化
性能:8-10w qps
链路:内部SLB -> Redis
访问方式:兼容所有开源客户端
SLA:2副本,HA高可用,秒级切换
集群双副本架构
适用场景:数据量大,性能要求高
性能:100w qps
链路:内部SLB -> Redis
访问方式:兼容所有开源客户端
SLA:分片2副本,高可用
读写分离架构
适用场景:读多写少,超大Key,不要求强一致性
优势:读写能力线性扩展;支持所有命令;对用户透明
同城容灾
适用场景:
数据可用性高
优势:用户数据双机房热备,单机房故障,业务无缝切换;机房恢复后,基于Binlog增量同步,防止流量雪崩
异地容灾+多活
适用场景:多点读写,就近读写
优势:容忍N-1机房故障;最终一致;跨地域灾备
混合存储
适用场景:超大数据量,性能要求适中,视频直播类应用,电商类应用
优势:100%兼容Redis;冷热数据分离;超高性价比
阿里云Redis内核优化
兼容Memcache协议
高可用探测
AOF Binlog
持久化系统优化
安全加密
IO、连接优化
持久化系统改造:
保留历史AOF日志
去除AOF Rewrite
扩展AOF日志信息
全新的数据组织形式:RDB全量+历史AOF
基于AOF Binlog的同步机制
独立的端口探测线程:
单独的事件
主线程阻塞不受影响
坏盘探测
慢内存探测
快速容灾
AOF后台异步写优化:
新增biowrite模式
轻量级别锁队列
bio线程进行线程写入操作
提高性能,避免write慢对主线程的影响
支持Memcache协议:
支持文本及二进制协议,完全兼容
复用Redis String对象存储memcached
复用原生Redis同步协议
复用原生Redis持久化机制
新版本Memcache支持扫描、备份、更多统计信息
混合存储优化:
内存中保持所有key和热数据
RocksDB中存冷数据
热数据性能和Redis一致
100%兼容Redis
数据换出异步写RocksDB,不阻塞主线程
单实例支持TB+数据存储
网络IO多线程优化。
文章不错?点个【在看】吧! 👇